package main

import "fmt"

//golang中的指针类型
func main() {

	/*
	   基本数量类型，变量存的就是值，也叫作值类型
	*/
	var i = 10
	fmt.Println("i的地址是：", &i)

	/*
	   1 ptr是一个指针变量
	   2 ptr类型是  *int
	   3 ptr 本身的值是 &i
	*/
	var ptr *int = &i
	fmt.Println(ptr)
	fmt.Println("ptr 指向的值: ", *ptr)
	*ptr = 100
	fmt.Println("通过指针修改i值", i)
}

/*
指针细节
1 值类型，都有对应的指针类型，形式为*数据类型
2 值类型包括：基本数据类型int系列，float系列，boo,string, 数组，结构体
*/

/*
值类型和引用类型
1 值类型包括：基本数据类型int系列，float系列，boo,string, 数组，结构体
2 引用类型：指针，slice切片，map ，管道chan,interface等都是引用类型
*/
